package org.jeecg.modules.stoneentry.entity;

import java.io.Serializable;

import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description:  石出入库
 * @Author: jerryzhu
 * @Date:   2021-11-15
 * @Version: V1.0
 */
@Data
@TableName("stone_entry")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="stone_entry对象", description=" 石出入库")
public class StoneEntry implements Serializable {
    private static final long serialVersionUID = 1L;

	/**主键*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private java.lang.String id;
	
	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private java.lang.String createBy;
    
	/**创建日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建日期")
    private java.util.Date createTime;
	
	/**更新人*/
    @ApiModelProperty(value = "更新人")
    private java.lang.String updateBy;
    
	/**更新日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新日期")
    private java.util.Date updateTime;
	
	/**所属部门*/
    @ApiModelProperty(value = "所属部门")
    private java.lang.String sysOrgCode;
    
    /**类型*/
	@Excel(name = "类型", width = 15, dicCode = "stone_action_type")
	@Dict(dicCode = "stone_action_type")
    @ApiModelProperty(value = "操作类型")
    private java.lang.Integer stoneActionType;
	
	@ApiModelProperty(value = "操作流水号")
    private java.lang.String sn;
	
	/** 计价方式 */
	@Excel(name = "计价方式", width = 15, dicCode = "count_price_pattern")
	@Dict(dicCode = "count_price_pattern")
	@ApiModelProperty(value = "计价方式")
	private java.lang.String countPricePattern;
	
	/** 工单号 */
	@Excel(name = "工单号", width = 15)
	@ApiModelProperty(value = "工单号")
	private java.lang.String workNum;
	
	/** 拆分页 */
	@Excel(name = "拆分页", width = 15)
	@ApiModelProperty(value = "拆分页")
	private java.lang.String pn;
	
	
	/**采购单号*/
	@Excel(name = "采购单号", width = 15)
    @ApiModelProperty(value = "采购单号")
    private java.lang.String purchaseOrderNum;
	
	/**名称*/
	@Excel(name = "名称", width = 15)
    @ApiModelProperty(value = "名称")
    private java.lang.String stoneName;
    
    /**石卡号*/
	@Excel(name = "石卡号", width = 15)
    @ApiModelProperty(value = "石卡号")
    private java.lang.String codeNum;
	
	/**石号*/
	@Excel(name = "石号", width = 15)
    @ApiModelProperty(value = "石号")
    private java.lang.String stoneNum;
	
	/**石类*/
	@Excel(name = "石类", width = 15, dictTable = "stone_category", dicText = "cate_name", dicCode = "id")
    @ApiModelProperty(value = "石类")
	@Dict(dictTable = "stone_category", dicText = "cate_name", dicCode = "id")
    private java.lang.String cateId;
	
	/**筛号*/
	@Excel(name = "筛号", width = 15)
    @ApiModelProperty(value = "筛号")
    private java.lang.String sizeNum;
	
	/**级别*/
	@Excel(name = "级别", width = 15, dicCode = "stone_level")
    @ApiModelProperty(value = "级别")
	@Dict(dicCode = "stone_level")
    private java.lang.String level;
	
	/**形状*/
	@Excel(name = "形状", width = 15, dicCode = " shape")
    @ApiModelProperty(value = "形状")
	@Dict(dicCode = "shape")
    private java.lang.String shape;
	
	/**规格*/
	@Excel(name = "规格", width = 15, dicCode = "stone_style")
    @ApiModelProperty(value = "规格")
	@Dict(dicCode = "stone_style")
    private java.lang.String style;
	
	/**净度*/
	@Excel(name = "净度", width = 15, dicCode = "stone_clarity")
    @ApiModelProperty(value = "净度")
	@Dict(dicCode = "stone_clarity")
    private java.lang.String neatness;
	
	/**车工*/
	@Excel(name = "车工", width = 15, dicCode = "cutting")
    @ApiModelProperty(value = "车工")
	@Dict(dicCode = "cutting")
    private java.lang.String cutting;
	
	/**颜色*/
	@Excel(name = "颜色", width = 15, dicCode = "color")
    @ApiModelProperty(value = "颜色")
	@Dict(dicCode = "color")
    private java.lang.String color;
	
	/**质地*/
	@Excel(name = "质地", width = 15, dicCode = "texture")
    @ApiModelProperty(value = "质地")
	@Dict(dicCode = "texture")
    private java.lang.String texture;
	
	/**角度*/
	@Excel(name = "角度", width = 15)
    @ApiModelProperty(value = "角度")
    private java.lang.String angle;
	
	/**单粒重*/
	@Excel(name = "单粒重", width = 15)
    @ApiModelProperty(value = "单粒重")
    private java.math.BigDecimal weight;
	
	/**好石数*/
	@Excel(name = "好石数", width = 15)
    @ApiModelProperty(value = "好石数")
    private java.lang.Integer goodStoneCount;
	
	/**好石重*/
	@Excel(name = "好石重", width = 15)
    @ApiModelProperty(value = "好石重")
    private java.math.BigDecimal goodStoneWeight;
	
	/**坏石数*/
	@Excel(name = "坏石数", width = 15)
    @ApiModelProperty(value = "坏石数")
    private java.lang.Integer badStoneCount;
	
	/**坏石重*/
	@Excel(name = "坏石重", width = 15)
    @ApiModelProperty(value = "坏石重")
    private java.math.BigDecimal badStoneWeight;
	
	/**镶法*/
	@Excel(name = "镶法", width = 15, dicCode = "inlay_type")
    @ApiModelProperty(value = "镶法")
	@Dict(dicCode = "inlay_type")
    private java.lang.String inlay;
	
	/**成本单价*/
	@Excel(name = "成本单价", width = 15)
    @ApiModelProperty(value = "成本单价")
    private java.math.BigDecimal stoneUnitCost;
	
	/**单价*/
	@Excel(name = "单价", width = 15)
    @ApiModelProperty(value = "单价")
    private java.math.BigDecimal stoneUnitPrice;
	
	/**批号*/
	@Excel(name = "批号", width = 15)
    @ApiModelProperty(value = "批号")
    private java.lang.String batchNum;
	
	/**来单号*/
	@Excel(name = "来单号", width = 15)
    @ApiModelProperty(value = "来单号")
    private java.lang.String receiveOrderNum;
	
	/**主副石*/
	@Excel(name = "主副石", width = 15, dicCode = "main_stone_type")
    @ApiModelProperty(value = "主副石")
	@Dict(dicCode = "main_stone_type")
    private java.lang.String mainStone;
	
	/**发票类型*/
	@Excel(name = "发票类型", width = 15, dicCode = "invoice_type")
    @ApiModelProperty(value = "发票类型")
	@Dict(dicCode = "invoice_type")	
    private java.lang.String invoiceType;
	
	/**实际币种*/
	@Excel(name = "实际币种", width = 15, dicCode = "currency_type")
    @ApiModelProperty(value = "实际币种")
	@Dict(dicCode = "currency_type")	
    private java.lang.String currencyType;
	
	/**实际单价*/
	@Excel(name = "实际单价", width = 15)
    @ApiModelProperty(value = "实际单价")
    private java.math.BigDecimal stoneUnitPlay;
	
	/**实际金额*/
	@Excel(name = "实际金额", width = 15)
    @ApiModelProperty(value = "实际金额")
    private java.math.BigDecimal stoneCost;
	
	/**汇率*/
	@Excel(name = "汇率", width = 15)
    @ApiModelProperty(value = "汇率")
    private java.lang.String exchangeRate;
	
	/**备注*/
	@Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private java.lang.String remark;
	
	/**发出员工*/
	@Excel(name = "发出员工", width = 15)
    @ApiModelProperty(value = "发出员工")
    private java.lang.String sendPerson;
	
	/**发出仓库*/
	@Excel(name = "发出仓库", width = 15)
    @ApiModelProperty(value = "发出仓库")
    private java.lang.String sendStorage;
	
	/**发出客户*/
	@Excel(name = "发出客户", width = 15)
    @ApiModelProperty(value = "发出客户")
    private java.lang.String sendCustomer;
	
	/**发出时间*/
	@Excel(name = "发出时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "发出时间")
    private java.util.Date sendTime;
	
	/**接收员工*/
	@Excel(name = "接收员工", width = 15)
    @ApiModelProperty(value = "接收员工")
    private java.lang.String receivePerson;
	
	/**接收仓库*/
	@Excel(name = "接收仓库", width = 15)
    @ApiModelProperty(value = "接收仓库")
    private java.lang.String receiveStorage;
	
	
	/**接收客户*/
	@Excel(name = "接收客户", width = 15)
    @ApiModelProperty(value = "接收客户")
    private java.lang.String receiveCustomer;
	
	/**接收时间*/
	@Excel(name = "接收时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "接收时间")
    private java.util.Date receiveTime;
	
	/**删除状态*/
	@Excel(name = "删除状态", width = 15, dicCode = "del_flag")
    @ApiModelProperty(value = "删除状态")	
    @Dict(dicCode = "del_flag")
    private java.lang.String isDel;
	
	//发出方（仅用于列表显示，不作数据库字段）
	private transient String senderName;
	
	//接收方（仅用于列表显示，不作数据库字段）
	private transient String receiverName;
}
